package com.init.bootframe.system.service;

import com.init.bootframe.system.vo.RoleModuleVO;
import com.init.bootframe.system.vo.RoleVO;
import net.sf.json.JSONObject;

import java.util.List;
import java.util.Map;

public interface IRoleService {

    /**
     *
     * 角色列表查询
     *
     * @param roleVO
     * @return
     */
    public JSONObject findRoleList(RoleVO roleVO);

    /**
     *
     * 新增角色
     *
     * @param roleVO
     * @return
     */
    public Map<String, Object> addRole(RoleVO roleVO);

    /**
     *
     * 编辑角色
     *
     * @param roleVO
     * @return
     */
    public Map<String, Object> updateRole(RoleVO roleVO);

    /**
     *
     * 角色查询
     *
     * @param roleVO
     * @return
     */
    public RoleVO findRole(RoleVO roleVO);

    /**
     *
     * 角色删除
     *
     * @param roleVO
     * @return
     */
    public Map<String, Object> deleteRole(RoleVO roleVO);

    /**
     * 角色授权
     *
     * @return resultMap 返回参数
     */
    public Map<String, Object> updateRoleAuth(RoleVO roleVO);

    /**
     *
     * 角色搜索
     *
     * @param roleVO
     * @return
     */
    public List<RoleVO> findRoles(RoleVO roleVO);

    /**
     * 查询有效角色功能集合
     *
     * @param roleModuleVO
     * @return
     */
    public List<RoleModuleVO> findRoleModuleList(RoleModuleVO roleModuleVO);

}
